自學寫Web App (半完成Heymandi Topic List + 改Topic 功能) - Day 10

技術債仔

7 回覆
3 Like 2 Dislike
技術債仔 2021-10-20 19:55:37
P 牌24個鐘只可以出一個post
琴日post 唔到就偷懶咗日
原本想做chat 先 但諗諗下應該做咗topic list 先



1. 都係搵UI template
有諗過照跟haymandi (下面張圖) 咁另外開一版

但覺得試起上黎會麻煩所以就咁同一版update topic + 禁topic
就揀咗呢個: https://tailwindcomponents.com/component/simple-rounded-text-form

2. 執feed store
加咗getFeeds 同updateFeed function 拎/update Firebase data
暫時hardcode 咗male 先
所以見到2邊send 都係藍色
let getFeeds = () => {
    onValue(ref(db, 'feed/'), (snapshot) => {
        feeds.update(data => snapshot.val());
      });    
}
let updateFeed = (userId, topic) => {
  console.log(userId);
  console.log(topic);
  set(ref(db, 'feed/' + userId), {
    content: topic,
    gender: "male"
  });
}
export {feeds, getFeeds, updateFeed};


3. 執route
主要import 返feed function 同做個subscribe
    getFeeds();
    let feedSub;
    feeds.subscribe(feeds => {
      feedSub = []
      for(let i in feeds) {
        let obj = feeds[i];
        obj.id = i;
        feedSub.push(feeds[i]);
      }
   });
技術債仔 2021-10-20 19:56:14
同埋執埋個svelte 嘅loop
拎返feedsub 嘅data 同埋自己唔會睇到自己topic
{#each feedSub as feed}
{#if feed != undefined && feed.id != $user.google.uid }
  <div class="flex items-center m-4 p-4 bg-white border-5 border-gray-200 rounded-lg shadow-sm dark:bg-gray-800">
    {#if feed.gender == "male"}
    <div class="p-3 mr-4 bg-blue-500 text-white rounded-full">
    </div>
    {:else}
    <div class="p-3 mr-4 bg-red-500 text-white rounded-full">
    </div>
    {/if}
    <div>
      <p class="text-sm font-normal text-gray-800">{feed.content}</p>
    </div>
  </div>
{/if}
{/each}

仲有個制做update feed
 <button on:click="{updateFeed($user.google.uid, tempTopic)}" class="px-8 rounded-r-lg bg-yellow-400 text-gray-800 font-bold p-4 uppercase border-yellow-500 border-t border-b border-r">Update</button>


其實個topic list 仲有好多野要搞 e.g. gender, refresh, 揀人match 個d
不過聽日應該試下直接click topic就入chat 咁做埋chat 嘅功能先
技術債仔 2021-10-20 20:00:15
差d 漏咗
Firebase 係咁樣的
如何可以忘記她 2021-10-20 21:33:02
巴打我覺得你好勁
你係用咩寫?
同埋睇咩教學學識寫?
旋風管家一拳超人 2021-10-20 23:41:01
不如擺上github 比我開pull request
技術債仔 2021-10-21 00:21:43
等我搞埋chat page 同做埋ts執執擺上黎
而家真係好亂
技術債仔 2021-10-21 00:23:56
Svelte
跟呢個學多 https://svelte.dev/tutorial/basics
同埋google
吹水台自選台熱 門最 新手機台時事台政事台World體育台娛樂台動漫台Apps台遊戲台影視台講故台健康台感情台家庭台潮流台美容台上班台財經台房屋台飲食台旅遊台學術台校園台汽車台音樂台創意台硬件台電器台攝影台玩具台寵物台軟件台活動台電訊台直播台站務台黑 洞